/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */

export const TypeMap: { [name: string]: string } = {
    BOOLEAN: "bool",
    BITMAP8: "map8",
    BITMAP16: "map16",
    BITMAP24: "map24",
    BITMAP32: "map32",
    BITMAP64: "map64",
    INT8U: "uint8",
    INT16U: "uint16",
    INT24U: "uint24",
    INT32U: "uint32",
    INT40U: "uint40",
    INT48U: "uint48",
    INT56U: "uint56",
    INT64U: "uint64",
    INT8S: "int8",
    INT16S: "int16",
    INT24S: "int24",
    INT32S: "int32",
    INT40S: "int40",
    INT48S: "int48",
    INT56S: "int56",
    INT64S: "int64",
    ENUM8: "enum8",
    ENUM16: "enum16",
    SINGLE: "single",
    DOUBLE: "double",
    OCTET_STRING: "octstr",
    CHAR_STRING: "string",
    LONG_OCTET_STRING: "octstr",
    LONG_CHAR_STRING: "string",
    ARRAY: "list",
    STRUCT: "struct",
    TOD: "tod",
    DATE: "date",
    UTC: "utc",
    EPOCH_US: "epoch-us",
    EPOCH_S: "epoch-s",
    SYSTIME_US: "systime-us",
    PERCENT: "percent",
    PERCENT100THS: "percent100ths",
    CLUSTER_ID: "cluster-id",
    ATTRIB_ID: "attrib-id",
    FIELD_ID: "fieldId",
    EVENT_ID: "eventId",
    COMMAND_ID: "command-id",
    ACTION_ID: "action-id",
    TRANS_ID: "transaction-id",
    NODE_ID: "node-id",
    VENDOR_ID: "vendor-id",
    DEVTYPE_ID: "devtype-id",
    FABRIC_ID: "fabric-id",
    GROUP_ID: "group-id",
    STATUS: "status",
    DATA_VER: "dataVer",
    EVENT_NO: "eventNo",
    ENDPOINT_NO: "endpoint-no",
    FABRIC_IDX: "fabric-idx",
    IPADR: "ipadr",
    IPV4ADR: "ipv4adr",
    IPV6ADR: "ipv6adr",
    IPV6PRE: "ipv6pre",
    HWADR: "hwadr",
};

export const ChildTypeMap: { [name: string]: string } = {
    map8: "INT8U",
    map16: "INT16U",
    map24: "INT24U",
    map32: "INT32U",
    map64: "INT64U",
    enum8: "INT8U",
    enum16: "INT16U",
};
